package editorarquivobmg.model;

import editorarquivobmg.util.ManipuladorDados;
import java.io.File;
import java.io.FileOutputStream;

public class Texto implements ISalvamento {

    private byte[] data = null;
    private int size = 0;

    public Texto(byte[] data, int size) {
        this.size = size;
        this.data = data;
    }

    public byte[] getData() {
        return data;
    }

    public int getSize() {
        return size;
    }

    public int modificarTexto(byte[] data) {
        int diferenca = data.length - this.data.length;
        this.data = data;
        this.size = data.length;
        return diferenca;
    }

    public void acrescentarBytes(int qtd) {
        byte[] temp = new byte[qtd];
        for (byte b : temp) {
            b = 0;
        }
        this.data = ManipuladorDados.concatenarArraysByte(data, temp);
        this.size += qtd;
    }

    @Override
    public void salvar(File file) throws Exception {
        FileOutputStream in = new FileOutputStream(file, true);
        in.write(data);
        in.close();
    }
}
